package com.java.core1.chapter3;

import com.java.core1.chapter3.TestEnum.Size;

/**
 * @author ClearScenery
 * @version 创建时间：2019年4月1日 下午2:02:06
 * @ClassName ControllProcessTest
 * @Description 流程控制语句测试
 */
public class ControllProcessTest {
	
	enum Size {
		SMALL, MEDIUM, LARGE, EXTRA, LARCE
	};

	public static void main(String[] args) {
		// 6种：byte ,short,int,char,enum,String[jdk7]
		// Size sz = Size.SMALL;
		// switch(sz) {
		// case 1: break;
		// case (short)2: break;
		// case '3': break;
		// case "4": break;
		// case (byte)5: break;
		// case SMALL: break;当在 switch 语句中使用枚举常量时，不必在每个标签中指明枚举名，可以由 switch 的表达式值确定
		// default:
		// }

		// testContinue1();
		// testContinue2();
		testBreak1();
	}

	/**
	 * 不带标签的break，跳出所有
	 */
	public static void testBreak1() {
		for (int i = 0; i < 10; i++) {
			System.out.println("i:"+i);
			for (int j = 0; j < 10; j++) {
				System.out.println("j:"+j);
			    break;
			}
		}
	}

	/**
	 * 带标签的break
	 */
	public static void testBreak2() {
		label: for (int i = 0; i < 10; i++) {
			if (i == 5) {
				break label;
			}
			System.out.println(i);
		}
	}

	/**
	 * 不带标签：跳出本次循环，执行下次循环
	 */
	public static void testContinue1() {

		for (int i = 0; i < 10; i++) {
			if (i == 5) {
				continue;
			}
			System.out.println(i);
		}
	}

	/**
	 * 带标签：
	 */
	public static void testContinue2() {
		label: for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 5; j++) {
				if (i == 5) {
					continue label;
				}
				System.out.println(i + "  " + j);
			}
		}
	}
}
